<?php
class ConsolesController extends AppController {

	var $name = 'Consoles';
	var $uses = array('Client','User','Registro','Problem','PeopleProblem','Practice','PeoplePractice','Person','Evolution','PeopleSign','Sign','Result','PeopleVademecum','Turn','Recomendation','PeopleRecomendation','Adjunto');

    function beforeFilter () {

		// Aplico el Layout segun la Vista o si es AJAX
		if ($this->RequestHandler->isAjax()) {
			$this->layout = 'ajax';
		}else{
			// Cambio la Vista por la del Rol
			$this->layout = 'consola';
		}
    }

	function index($filtros = null, $fecha_desde = null, $fecha_hasta = null) {

		if(!$fecha_desde){
			$fecha_desde = date("d/m/Y", mktime ( 0 , 0 , 0, date("m")-1, date("d"), date("Y")));
		}

		$dia = substr($fecha_desde,0,2);
		$mes = substr($fecha_desde,3,2);
		$anio = substr($fecha_desde,6,4);
		$fecha_desde_sql = "$anio-$mes-$dia";


		if(!$fecha_hasta){
			$fecha_hasta = date("d/m/Y");
		}

		$dia = substr($fecha_hasta,0,2);
		$mes = substr($fecha_hasta,3,2);
		$anio = substr($fecha_hasta,6,4);
		$fecha_hasta_sql = "$anio-$mes-$dia";			


		// Total de medicos que visitaron en el rango de fecha
		$detalle_medicos = $this->ObtenerRegistrosMedicos($filtros, $fecha_desde, $fecha_hasta);

/*
		$detalle_medicos = $this->Registro->query("
			SELECT count(t1.user_id) AS cant, t2.name, t2.lastname
			FROM
				estadisticas AS t1
				INNER JOIN users AS t2 ON t2.id = t1.user_id
			WHERE
				t1.fecha >= '$fecha_desde_sql' AND t1.fecha <= '$fecha_hasta_sql'
			GROUP BY
				t1.user_id
			ORDER BY
				cant DESC
		");

echo "
			SELECT count(t1.user_id) AS cant, t2.name, t2.lastname
			FROM
				estadisticas AS t1
				INNER JOIN users AS t2 ON t2.id = t1.user_id
			WHERE
				t1.fecha >= '$fecha_desde_sql' AND t1.fecha <= '$fecha_hasta_sql'
			GROUP BY
				t1.user_id
			ORDER BY
				cant DESC
		";

*/


		// Obtengo los Registros
		$datos_gral = $this->ObtenerRegistros($filtros, $fecha_desde, $fecha_hasta);

//pr($datos_gral);

		// Genero el Arreglo de datos para el grafico principal y el detalle
		$datos_grafico_aux = array();
		$detalle_consola_aux = array();
		if(!empty($datos_gral)){
			foreach($datos_gral AS $indice => $registro){

				// Genero datos para el gráfico
				if(empty($datos_grafico_aux[$registro['fecha']])){
					$datos_grafico_aux[$registro['fecha']] = $registro['cantidad'];
				}else{
					$datos_grafico_aux[$registro['fecha']] += $registro['cantidad'];					
				}

				// Genero datos para el detalle				
				if(empty($detalle_consola_aux[$registro['origen']])){
					$detalle_consola_aux[$registro['origen']] = $registro['cantidad'];
				}else{
					$detalle_consola_aux[$registro['origen']] += $registro['cantidad'];					
				}

			}
		}


		// Genero el String para el grafico principal
		if(!empty($datos_grafico_aux)){
			$string_data = "";
			$contador = 0;
			$fecha_anterior = "";
			foreach($datos_grafico_aux AS $fecha_aux => $cantidad_aux){

				$contador++;

				if($contador > 1){
					$string_data .= ",";
				}

				$fecha_sin_formato = new DateTime($fecha_aux);

				$string_data .= "['".$fecha_sin_formato->format('d/m/Y') . "', " . $cantidad_aux . "]";

				$fecha_anterior = $fecha_aux;
			}
		}else{
			$string_data = "['No hay datos cargados', 1]";
		}


		if(!empty($detalle_consola_aux)){
			arsort($detalle_consola_aux);
		}

		$this->set('datos_grafico',$string_data);
		$this->set('detalle_consola',$detalle_consola_aux);	
		$this->set('detalle_medicos',$detalle_medicos);
	}


	function ObtenerRegistrosMedicos($filtros = null, $fecha_desde, $fecha_hasta) {

		// Convierto la fecha en formato YYYY-MM-DD
		$fecha_desde = substr($fecha_desde,6,4)."-".substr($fecha_desde,3,2).'-'.substr($fecha_desde,0,2);
		$fecha_hasta = substr($fecha_hasta,6,4)."-".substr($fecha_hasta,3,2).'-'.(substr($fecha_hasta,0,2) + 1);		

		// Inicializo los Arreglos
		$peopleproblems   = array();
		$evolutions       = array();
		$peopleSigns      = array();
		$peoplepractice   = array();
		$results          = array();
		$peopleVademecums = array();
		$turns            = array();
		$PeopleRecomendations = array();
		$Adjuntos         = array();
		$pacientes        = array();
		$clientes        = array();
		$usuarios        = array();

		// Armo un arreglo con los filtros
		if($filtros){
			$arreglo_filtros = explode("|", $filtros); 
		}else{
			$arreglo_filtros = array();
		}


		// Aplico los Filtros segun correspondan
		if(empty($arreglo_filtros) OR in_array("4", $arreglo_filtros)){
			$peopleproblems = $this->PeopleProblem->query("
				SELECT count(*) AS cant, Usuarios.name, Usuarios.lastname
				FROM 
				people_problems AS Registro
				INNER JOIN users as Usuarios ON Usuarios.id = Registro.user_id
				WHERE
					Registro.user_id is not null AND Registro.created >= '$fecha_desde' AND Registro.created <= '$fecha_hasta' 
				GROUP BY 
					Registro.user_id
				ORDER BY
					cant DESC, Usuarios.lastname, Usuarios.name
				");
		}




		if(empty($arreglo_filtros) OR in_array("1", $arreglo_filtros)){
			$evolutions = $this->Evolution->query("
				SELECT count(*) AS cant, Usuarios.name, Usuarios.lastname
				FROM 
				evolutions AS Registro
				INNER JOIN users as Usuarios ON Usuarios.id = Registro.user_id
				WHERE
					Registro.user_id is not null AND Registro.created >= '$fecha_desde' AND Registro.created <= '$fecha_hasta' 
				GROUP BY 
					Registro.user_id
				ORDER BY
					cant DESC, Usuarios.lastname, Usuarios.name
			");
		}

		if(empty($arreglo_filtros) OR in_array("6", $arreglo_filtros)){
			$peopleSigns = $this->PeopleSign->query("
				SELECT count(*) AS cant, Usuarios.name, Usuarios.lastname
				FROM 
				people_signs AS Registro
				INNER JOIN users as Usuarios ON Usuarios.id = Registro.user_id
				WHERE
					Registro.user_id is not null AND Registro.created >= '$fecha_desde' AND Registro.created <= '$fecha_hasta' 
				GROUP BY 
					Registro.user_id
				ORDER BY
					cant DESC, Usuarios.lastname, Usuarios.name
				");
		}

		if(empty($arreglo_filtros) OR in_array("3", $arreglo_filtros)){
			$peoplepractice = $this->PeoplePractice->query("
				SELECT count(*) AS cant, Usuarios.name, Usuarios.lastname
				FROM 
				people_practices AS Registro
				INNER JOIN users as Usuarios ON Usuarios.id = Registro.user_id
				WHERE
					Registro.user_id is not null AND Registro.created >= '$fecha_desde' AND Registro.created <= '$fecha_hasta' 
				GROUP BY 
					Registro.user_id
				ORDER BY
					cant DESC, Usuarios.lastname, Usuarios.name
				");
		}

		if(empty($arreglo_filtros) OR in_array("5", $arreglo_filtros)){
			$results = $this->Result->query("
				SELECT count(*) AS cant, Usuarios.name, Usuarios.lastname
				FROM 
				results AS Registro
				INNER JOIN users as Usuarios ON Usuarios.id = Registro.user_id
				WHERE
					Registro.user_id is not null AND Registro.created >= '$fecha_desde' AND Registro.created <= '$fecha_hasta' 
				GROUP BY 
					Registro.user_id
				ORDER BY
					cant DESC, Usuarios.lastname, Usuarios.name
				");
		}

		if(empty($arreglo_filtros) OR in_array("2", $arreglo_filtros)){
			$peopleVademecums = $this->PeopleVademecum->query("
				SELECT count(*) AS cant, Usuarios.name, Usuarios.lastname
				FROM 
				people_vademecums AS Registro
				INNER JOIN users as Usuarios ON Usuarios.id = Registro.user_id
				WHERE
					Registro.user_id is not null AND Registro.created >= '$fecha_desde' AND Registro.created <= '$fecha_hasta' 
				GROUP BY 
					Registro.user_id
				ORDER BY
					cant DESC, Usuarios.lastname, Usuarios.name
				");
		}

		if(empty($arreglo_filtros) OR in_array("7", $arreglo_filtros)){
			$turns = $this->Turn->query("
				SELECT count(*) AS cant, Usuarios.name, Usuarios.lastname
				FROM 
				turns AS Registro
				INNER JOIN users as Usuarios ON Usuarios.id = Registro.user_id
				WHERE
					Registro.user_id is not null AND Registro.created >= '$fecha_desde' AND Registro.created <= '$fecha_hasta' 
				GROUP BY 
					Registro.user_id
				ORDER BY
					cant DESC, Usuarios.lastname, Usuarios.name
				");
		}

		if(empty($arreglo_filtros) OR in_array("8", $arreglo_filtros)){
			$PeopleRecomendations = $this->PeopleRecomendation->query("
				SELECT count(*) AS cant, Usuarios.name, Usuarios.lastname
				FROM 
				people_recomendations AS Registro
				INNER JOIN users as Usuarios ON Usuarios.id = Registro.user_id
				WHERE
					Registro.user_id is not null AND Registro.created >= '$fecha_desde' AND Registro.created <= '$fecha_hasta' 
				GROUP BY 
					Registro.user_id
				ORDER BY
					cant DESC, Usuarios.lastname, Usuarios.name
				");
		}

		if(empty($arreglo_filtros) OR in_array("9", $arreglo_filtros)){
			//-----------------------------------------------------------------------
			// Adjuntos
			//-----------------------------------------------------------------------
			$Adjuntos = $this->Adjunto->query("
				SELECT count(*) AS cant, Usuarios.name, Usuarios.lastname
				FROM 
				adjuntos AS Registro
				INNER JOIN users as Usuarios ON Usuarios.id = Registro.user_id
				WHERE
					Registro.user_id is not null AND Registro.fecha >= '$fecha_desde' AND Registro.fecha <= '$fecha_hasta' 
				GROUP BY 
					Registro.user_id
				ORDER BY
					cant DESC, Usuarios.lastname, Usuarios.name
				");
			
		}
	

		if(empty($arreglo_filtros) OR in_array("10", $arreglo_filtros)){

			$pacientes = $this->Person->query("
				SELECT count(*) AS cant, Usuarios.name, Usuarios.lastname
				FROM 
					people AS Registro
					INNER JOIN users as Usuarios ON Usuarios.id = Registro.user_id
				WHERE
					Registro.user_id is not null AND Registro.created >= '$fecha_desde' AND Registro.created <= '$fecha_hasta' 
				GROUP BY 
					Registro.user_id
				ORDER BY
					cant DESC, Usuarios.lastname, Usuarios.name
				");
		}	



		if(empty($arreglo_filtros) OR in_array("11", $arreglo_filtros)){

			$clientes = $this->Client->query("
				SELECT count(*) AS cant, Registro.name
				FROM 
				clients AS Registro
				WHERE
					Registro.id is not null AND Registro.created >= '$fecha_desde' AND Registro.created <= '$fecha_hasta' 
				GROUP BY 
					Registro.id
				ORDER BY
					cant DESC, Registro.name
				");
			
		}	

		if(empty($arreglo_filtros) OR in_array("12", $arreglo_filtros)){

			$usuarios = $this->User->query("
				SELECT count(*) AS cant, Registro.name, Registro.lastname
				FROM 
				users AS Registro
				WHERE
					Registro.id is not null AND Registro.created >= '$fecha_desde' AND Registro.created <= '$fecha_hasta' 
				GROUP BY 
					Registro.id
				ORDER BY
					cant DESC, Registro.lastname, Registro.name
				");
			
		}			


		// Inicializo el Resultado
		$registro_gral = array();
		$contador_gral = 0;

		// Armo el Resultado del Historico
		foreach($results as $registro){
			$registro_gral[$contador_gral]['cant']        = $registro['0']['cant'];
			$registro_gral[$contador_gral]['name']     = $registro['Usuarios']['name'];
			$registro_gral[$contador_gral]['lastname'] 	   = $registro['Usuarios']['lastname'];
			$contador_gral++;
		}

		foreach($peopleSigns as $registro){
			$registro_gral[$contador_gral]['cant']        = $registro['0']['cant'];
			$registro_gral[$contador_gral]['name']     = $registro['Usuarios']['name'];
			$registro_gral[$contador_gral]['lastname'] 	   = $registro['Usuarios']['lastname'];
			$contador_gral++;
		}

		foreach($peopleproblems as $registro){
			$registro_gral[$contador_gral]['cant']        = $registro['0']['cant'];
			$registro_gral[$contador_gral]['name']     = $registro['Usuarios']['name'];
			$registro_gral[$contador_gral]['lastname'] 	   = $registro['Usuarios']['lastname'];
			$contador_gral++;
		}

		//pr($evolutions); die();
		foreach($evolutions as $registro){
			$registro_gral[$contador_gral]['cant']        = $registro['0']['cant'];
			$registro_gral[$contador_gral]['name']     = $registro['Usuarios']['name'];
			$registro_gral[$contador_gral]['lastname'] 	   = $registro['Usuarios']['lastname'];
			$contador_gral++;

		}

		foreach($peoplepractice as $registro){
			$registro_gral[$contador_gral]['cant']        = $registro['0']['cant'];
			$registro_gral[$contador_gral]['name']     = $registro['Usuarios']['name'];
			$registro_gral[$contador_gral]['lastname'] 	   = $registro['Usuarios']['lastname'];
			$contador_gral++;
		}

		foreach($peopleVademecums as $registro){
			$registro_gral[$contador_gral]['cant']        = $registro['0']['cant'];
			$registro_gral[$contador_gral]['name']     = $registro['Usuarios']['name'];
			$registro_gral[$contador_gral]['lastname'] 	   = $registro['Usuarios']['lastname'];
			$contador_gral++;
		}

		foreach($turns as $registro){
			$registro_gral[$contador_gral]['cant']        = $registro['0']['cant'];
			$registro_gral[$contador_gral]['name']     = $registro['Usuarios']['name'];
			$registro_gral[$contador_gral]['lastname'] 	   = $registro['Usuarios']['lastname'];
			$contador_gral++;
		}

		foreach($PeopleRecomendations as $registro){
			$registro_gral[$contador_gral]['cant']        = $registro['0']['cant'];
			$registro_gral[$contador_gral]['name']     = $registro['Usuarios']['name'];
			$registro_gral[$contador_gral]['lastname'] 	   = $registro['Usuarios']['lastname'];
			$contador_gral++;
		}

		foreach($Adjuntos as $registro){
			$registro_gral[$contador_gral]['cant']        = $registro['0']['cant'];
			$registro_gral[$contador_gral]['name']     = $registro['Usuarios']['name'];
			$registro_gral[$contador_gral]['lastname'] 	   = $registro['Usuarios']['lastname'];
			$contador_gral++;
		}
		

		foreach($pacientes as $registro){
			$registro_gral[$contador_gral]['cant']        = $registro['0']['cant'];
			$registro_gral[$contador_gral]['name']     = $registro['Usuarios']['name'];
			$registro_gral[$contador_gral]['lastname'] 	   = $registro['Usuarios']['lastname'];
			$contador_gral++;
		}		


		foreach($clientes as $registro){
			$registro_gral[$contador_gral]['cant']        = $registro['0']['cant'];
			$registro_gral[$contador_gral]['name']     = $registro['Registro']['name'];
			$registro_gral[$contador_gral]['lastname'] 	   = "";
			$contador_gral++;
		}	

		foreach($usuarios as $registro){
			$registro_gral[$contador_gral]['cant']        = $registro['0']['cant'];
			$registro_gral[$contador_gral]['name']     = $registro['Registro']['name'];
			$registro_gral[$contador_gral]['lastname'] 	   = $registro['Registro']['lastname'];
			$contador_gral++;
		}	

		$registro_gral = Set::sort($registro_gral, '{n}.cant', 'desc');
//pr($registro_gral);
		return $registro_gral;

	}

	function ObtenerRegistros($filtros = null, $fecha_desde, $fecha_hasta) {

		// Convierto la fecha en formato YYYY-MM-DD
		$fecha_desde = substr($fecha_desde,6,4)."-".substr($fecha_desde,3,2).'-'.substr($fecha_desde,0,2);
		$fecha_hasta = substr($fecha_hasta,6,4)."-".substr($fecha_hasta,3,2).'-'.(substr($fecha_hasta,0,2) + 1);		

		// Inicializo los Arreglos
		$peopleproblems   = array();
		$evolutions       = array();
		$peopleSigns      = array();
		$peoplepractice   = array();
		$results          = array();
		$peopleVademecums = array();
		$turns            = array();
		$PeopleRecomendations = array();
		$Adjuntos         = array();
		$pacientes        = array();
		$clientes        = array();
		$usuarios        = array();

		// Armo un arreglo con los filtros
		if($filtros){
			$arreglo_filtros = explode("|", $filtros); 
		}else{
			$arreglo_filtros = array();
		}


		// Aplico los Filtros segun correspondan
		if(empty($arreglo_filtros) OR in_array("4", $arreglo_filtros)){
			$peopleproblems = $this->PeopleProblem->query("
				SELECT DATE(Registro.created) AS fecha, count(*) AS cantidad
				FROM 
				people_problems AS Registro
				WHERE
					Registro.user_id is not null AND Registro.created >= '$fecha_desde' AND Registro.created <= '$fecha_hasta' 
				GROUP BY 
					DATE(Registro.created)
				ORDER BY
					DATE(Registro.created), cantidad DESC
				");
		}

		if(empty($arreglo_filtros) OR in_array("1", $arreglo_filtros)){
			$evolutions = $this->Evolution->query("
				SELECT DATE(Registro.created) AS fecha, count(*) AS cantidad
				FROM 
				evolutions AS Registro
				WHERE
					Registro.user_id is not null AND Registro.created >= '$fecha_desde' AND Registro.created <= '$fecha_hasta' 
				GROUP BY 
					DATE(Registro.created)
				ORDER BY
					DATE(Registro.created), cantidad DESC
			");
		}

		if(empty($arreglo_filtros) OR in_array("6", $arreglo_filtros)){
			$peopleSigns = $this->PeopleSign->query("
				SELECT DATE(Registro.created) AS fecha, count(*) AS cantidad
				FROM 
				people_signs AS Registro
				WHERE
					Registro.user_id is not null AND Registro.created >= '$fecha_desde' AND Registro.created <= '$fecha_hasta' 
				GROUP BY 
					DATE(Registro.created)
				ORDER BY
					DATE(Registro.created), cantidad DESC				
				");
		}

		if(empty($arreglo_filtros) OR in_array("3", $arreglo_filtros)){
			$peoplepractice = $this->PeoplePractice->query("
				SELECT DATE(Registro.created) AS fecha, count(*) AS cantidad
				FROM 
				people_practices AS Registro
				WHERE
					Registro.user_id is not null AND Registro.created >= '$fecha_desde' AND Registro.created <= '$fecha_hasta' 
				GROUP BY 
					DATE(Registro.created)
				ORDER BY
					DATE(Registro.created), cantidad DESC
				");
		}

		if(empty($arreglo_filtros) OR in_array("5", $arreglo_filtros)){
			$results = $this->Result->query("
				SELECT DATE(Registro.created) AS fecha, count(*) AS cantidad
				FROM 
				results AS Registro
				WHERE
					Registro.user_id is not null AND Registro.created >= '$fecha_desde' AND Registro.created <= '$fecha_hasta' 
				GROUP BY 
					DATE(Registro.created)
				ORDER BY
					DATE(Registro.created), cantidad DESC
				");
		}

		if(empty($arreglo_filtros) OR in_array("2", $arreglo_filtros)){
			$peopleVademecums = $this->PeopleVademecum->query("
				SELECT DATE(Registro.created) AS fecha, count(*) AS cantidad
				FROM 
				people_vademecums AS Registro
				WHERE
					Registro.user_id is not null AND Registro.created >= '$fecha_desde' AND Registro.created <= '$fecha_hasta' 
				GROUP BY 
					DATE(Registro.created)
				ORDER BY
					DATE(Registro.created), cantidad DESC
				");
		}

		if(empty($arreglo_filtros) OR in_array("7", $arreglo_filtros)){
			$turns = $this->Turn->query("
				SELECT DATE(Registro.created) AS fecha, count(*) AS cantidad
				FROM 
				turns AS Registro
				WHERE
					Registro.user_id is not null AND Registro.created >= '$fecha_desde' AND Registro.created <= '$fecha_hasta' 
				GROUP BY 
					DATE(Registro.created)
				ORDER BY
					DATE(Registro.created), cantidad DESC		
				");
		}

		if(empty($arreglo_filtros) OR in_array("8", $arreglo_filtros)){
			$PeopleRecomendations = $this->PeopleRecomendation->query("
				SELECT DATE(Registro.created) AS fecha, count(*) AS cantidad
				FROM 
				people_recomendations AS Registro
				WHERE
					Registro.user_id is not null AND Registro.created >= '$fecha_desde' AND Registro.created <= '$fecha_hasta' 
				GROUP BY 
					DATE(Registro.created)
				ORDER BY
					DATE(Registro.created), cantidad DESC
				");
		}

		if(empty($arreglo_filtros) OR in_array("9", $arreglo_filtros)){
			//-----------------------------------------------------------------------
			// Adjuntos
			//-----------------------------------------------------------------------
			$Adjuntos = $this->Adjunto->query("
				SELECT DATE(Registro.fecha) AS fecha, count(*) AS cantidad
				FROM 
				adjuntos AS Registro
				WHERE
					Registro.user_id is not null AND Registro.fecha >= '$fecha_desde' AND Registro.fecha <= '$fecha_hasta' 
				GROUP BY 
					DATE(Registro.fecha)
				ORDER BY
					DATE(Registro.fecha), cantidad DESC		
				");
			
		}
	

		if(empty($arreglo_filtros) OR in_array("10", $arreglo_filtros)){

			$pacientes = $this->Person->query("
				SELECT DATE(Registro.created) AS fecha, count(*) AS cantidad
				FROM 
				people AS Registro
				WHERE
					Registro.user_id is not null AND Registro.created >= '$fecha_desde' AND Registro.created <= '$fecha_hasta' 
				GROUP BY 
					DATE(Registro.created)
				ORDER BY
					DATE(Registro.created), cantidad DESC		
				");
		}	

		if(empty($arreglo_filtros) OR in_array("11", $arreglo_filtros)){

			$clientes = $this->Client->query("
				SELECT DATE(Registro.created) AS fecha, count(*) AS cantidad
				FROM 
				clients AS Registro
				WHERE
					Registro.id is not null AND Registro.created >= '$fecha_desde' AND Registro.created <= '$fecha_hasta' 
				GROUP BY 
					DATE(Registro.created)
				ORDER BY
					DATE(Registro.created), cantidad DESC		
				");
			
		}	

		if(empty($arreglo_filtros) OR in_array("12", $arreglo_filtros)){

			$usuarios = $this->User->query("
				SELECT DATE(Registro.created) AS fecha, count(*) AS cantidad
				FROM 
				users AS Registro
				WHERE
					Registro.id is not null AND Registro.created >= '$fecha_desde' AND Registro.created <= '$fecha_hasta' 
				GROUP BY 
					DATE(Registro.created)
				ORDER BY
					DATE(Registro.created), cantidad DESC		
				");
			
		}			


		// Inicializo el Resultado
		$registro_gral = array();
		$contador_gral = 0;

		// Armo el Resultado del Historico
		foreach($results as $registro){
			$registro_gral[$contador_gral]['fecha']        = $registro['0']['fecha'];
			$registro_gral[$contador_gral]['cantidad']     = $registro['0']['cantidad'];
			$registro_gral[$contador_gral]['origen'] 	   = 'Resultados';
			$contador_gral++;
		}

		foreach($peopleSigns as $registro){
			$registro_gral[$contador_gral]['fecha']        = $registro['0']['fecha'];
			$registro_gral[$contador_gral]['cantidad']     = $registro['0']['cantidad'];
			$registro_gral[$contador_gral]['origen'] 	   = 'Signos Vitales';
			$contador_gral++;
		}

		foreach($peopleproblems as $registro){
			$registro_gral[$contador_gral]['fecha']        = $registro['0']['fecha'];
			$registro_gral[$contador_gral]['cantidad']     = $registro['0']['cantidad'];
			$registro_gral[$contador_gral]['origen'] 	   = 'Problemas';
			$contador_gral++;
		}

		//pr($evolutions); die();
		foreach($evolutions as $registro){
			$registro_gral[$contador_gral]['fecha']        = $registro['0']['fecha'];
			$registro_gral[$contador_gral]['cantidad']     = $registro['0']['cantidad'];
			$registro_gral[$contador_gral]['origen'] 	   = 'Evoluciones';
			$contador_gral++;

		}

		foreach($peoplepractice as $registro){
			$registro_gral[$contador_gral]['fecha']        = $registro['0']['fecha'];
			$registro_gral[$contador_gral]['cantidad']     = $registro['0']['cantidad'];
			$registro_gral[$contador_gral]['origen'] 	   = 'Prácticas';
			$contador_gral++;
		}

		foreach($peopleVademecums as $registro){
			$registro_gral[$contador_gral]['fecha']        = $registro['0']['fecha'];
			$registro_gral[$contador_gral]['cantidad']     = $registro['0']['cantidad'];
			$registro_gral[$contador_gral]['origen'] 	   = 'Medicamentos';
			$contador_gral++;
		}

		foreach($turns as $registro){
			$registro_gral[$contador_gral]['fecha']        = $registro['0']['fecha'];
			$registro_gral[$contador_gral]['cantidad']     = $registro['0']['cantidad'];
			$registro_gral[$contador_gral]['origen'] 	   = 'Turnos';
			$contador_gral++;
		}

		foreach($PeopleRecomendations as $registro){
			$registro_gral[$contador_gral]['fecha']        = $registro['0']['fecha'];
			$registro_gral[$contador_gral]['cantidad']     = $registro['0']['cantidad'];
			$registro_gral[$contador_gral]['origen'] 	   = 'Recomendaciones';
			$contador_gral++;
		}

		foreach($Adjuntos as $registro){
			$registro_gral[$contador_gral]['fecha']        = $registro['0']['fecha'];
			$registro_gral[$contador_gral]['cantidad']     = $registro['0']['cantidad'];
			$registro_gral[$contador_gral]['origen'] 	   = 'Adjuntos';
			$contador_gral++;
		}
		
		foreach($pacientes as $registro){
			$registro_gral[$contador_gral]['fecha']        = $registro['0']['fecha'];
			$registro_gral[$contador_gral]['cantidad']     = $registro['0']['cantidad'];
			$registro_gral[$contador_gral]['origen'] 	   = 'Pacientes';
			$contador_gral++;
		}		

		foreach($clientes as $registro){
			$registro_gral[$contador_gral]['fecha']        = $registro['0']['fecha'];
			$registro_gral[$contador_gral]['cantidad']     = $registro['0']['cantidad'];
			$registro_gral[$contador_gral]['origen'] 	   = 'Clientes';
			$contador_gral++;
		}	

		foreach($usuarios as $registro){
			$registro_gral[$contador_gral]['fecha']        = $registro['0']['fecha'];
			$registro_gral[$contador_gral]['cantidad']     = $registro['0']['cantidad'];
			$registro_gral[$contador_gral]['origen'] 	   = 'Usuarios';
			$contador_gral++;
		}	

		$registro_gral = Set::sort($registro_gral, '{n}.fecha', 'asc');
//pr($registro_gral);
		return $registro_gral;
	}

	function reportes(){
		$this->autoRender=false;		

		exec('java -cp /wwwroot/rm/app/webroot/estadisticas-ephce-1.0-SNAPSHOT-jar-with-dependencies.jar com.mycompany.estadisticasephce.App', $output);		

		echo '<div style="margin: 10px;">';
		foreach ($output as $linea) {
			echo $linea."<br/>";
		}
		echo '</div>';		

	}

}
?>